package br.siseventos.model;
// Generated 29/10/2012 23:23:36 by Hibernate Tools 3.2.1.GA

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;

/**
 * TaAvaliacao generated by hbm2java
 */
@Entity
@Table(name = "ta_avaliacao", catalog = "SisEventosDB", uniqueConstraints =
@UniqueConstraint(columnNames = {"cod_inscricao", "cod_item_avaliacao"}))
public class TaAvaliacao extends BaseModel {

    private Integer idtAvaliacao;
    private TdMencao tdMencao;
    private TbInscricao tbInscricao;
    private TdItemAvaliacao tdItemAvaliacao;
    private Date dtaAvaliacao;

    public TaAvaliacao() {
    }

    public TaAvaliacao(TdMencao tdMencao, TbInscricao tbInscricao, TdItemAvaliacao tdItemAvaliacao, Date dtaAvaliacao) {
        this.tdMencao = tdMencao;
        this.tbInscricao = tbInscricao;
        this.tdItemAvaliacao = tdItemAvaliacao;
        this.dtaAvaliacao = dtaAvaliacao;
    }

    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "idt_avaliacao", unique = true, nullable = false)
    public Integer getIdtAvaliacao() {
        return this.idtAvaliacao;
    }

    public void setIdtAvaliacao(Integer idtAvaliacao) {
        this.idtAvaliacao = idtAvaliacao;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "cod_mencao", nullable = false)
    public TdMencao getTdMencao() {
        return this.tdMencao;
    }

    public void setTdMencao(TdMencao tdMencao) {
        this.tdMencao = tdMencao;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "cod_inscricao", nullable = false)
    public TbInscricao getTbInscricao() {
        return this.tbInscricao;
    }

    public void setTbInscricao(TbInscricao tbInscricao) {
        this.tbInscricao = tbInscricao;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "cod_item_avaliacao", nullable = false)
    public TdItemAvaliacao getTdItemAvaliacao() {
        return this.tdItemAvaliacao;
    }

    public void setTdItemAvaliacao(TdItemAvaliacao tdItemAvaliacao) {
        this.tdItemAvaliacao = tdItemAvaliacao;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "dta_avaliacao", nullable = false, length = 19)
    public Date getDtaAvaliacao() {
        return this.dtaAvaliacao;
    }

    public void setDtaAvaliacao(Date dtaAvaliacao) {
        this.dtaAvaliacao = dtaAvaliacao;
    }
}
